﻿/*
 * Copyright 2003-2008 非也
 * All rights reserved.
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation。
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see http://www.gnu.org/licenses. *
 * @author 非也,nychen2000@163.com
 * @Revision to .NET 无忧 lwz0721@gmail.com 2010-02
 */
using System;

namespace FireWorkflow.Net.Engine.Impl
{
	/// <summary>ProcessInstance generated by hbm2java</summary>
	[Serializable]
	public class ProcessInstance : IProcessInstance
	{
		public String Id { get; set; }
		public String ProcessId { get; set; }
		public Int32 Version { get; set; }
		public String Name { get; set; }
		public String DisplayName { get; set; }
		public ProcessInstanceEnum State { get; set; }
		public Boolean Suspended { get; set; }
		public String CreatorId { get; set; }
		public DateTime CreatedTime { get; set; }
		public DateTime StartedTime { get; set; }
		public DateTime EndTime { get; set; }
		public DateTime ExpiredTime { get; set; }
		public String ParentProcessInstanceId { get; set; }
		public String ParentTaskInstanceId { get; set; }
		
//		public RuntimeContext RuntimeContext { get; set; }

		//public IWorkflowSession CurrentWorkflowSession { get; set; }

		public ProcessInstance()
		{
			this.State = ProcessInstanceEnum.INITIALIZED;
			this.Suspended = false;
			//this.ProcessInstanceVariables = new Dictionary<String, Object>();
		}
		
	}
}
